@echo off
echo 修复文件名匹配问题...
echo.

REM 检查Java版本
echo 检查Java环境...
java -version >nul 2>&1
if %errorlevel% neq 0 (
    echo 错误: 未找到Java环境
    pause
    exit /b 1
)

echo.
echo 修复内容:
echo ✓ 已修复文件名: UsageStatsManager.kt → AppUsageStatsManager.kt
echo ✓ 现在文件名和类名完全匹配
echo ✓ 解决了类定义的命名冲突问题
echo.

REM 检查文件结构
echo 检查当前文件结构...
if exist "app\src\main\java\com\example\appusagestats\manager\AppUsageStatsManager.kt" (
    echo ✓ AppUsageStatsManager.kt 存在
) else (
    echo ✗ AppUsageStatsManager.kt 缺失
)

if exist "app\src\main\java\com\example\appusagestats\model\TimeSlot.kt" (
    echo ✓ TimeSlot.kt 存在
) else (
    echo ✗ TimeSlot.kt 缺失
)

if exist "app\src\main\java\com\example\appusagestats\model\UsageEvent.kt" (
    echo ✓ UsageEvent.kt 存在
) else (
    echo ✗ UsageEvent.kt 缺失
)
echo.

REM 设置JAVA_HOME如果可用
echo 尝试设置Java环境...
for /f "tokens=*" %%i in ('where java 2^>nul') do (
    set "JAVA_PATH=%%i"
    for %%j in ("!JAVA_PATH!") do (
        set "JAVA_DIR=%%~dpj"
        set "JAVA_HOME=!JAVA_DIR:~0,-1!"
    )
)

if defined JAVA_HOME (
    echo JAVA_HOME: %JAVA_HOME%
    set "PATH=%JAVA_HOME%\bin;%PATH%"
    echo.
    
    REM 清理项目
    echo 清理项目...
    gradlew.bat clean --no-daemon
    
    REM 编译检查
    echo 编译检查...
    gradlew.bat compileDebugKotlin --no-daemon
    
    if %errorlevel% equ 0 (
        echo.
        echo ✅ Kotlin编译成功！
        echo.
        
        REM 构建项目
        echo 构建项目...
        gradlew.bat assembleDebug --no-daemon
        
        if %errorlevel% equ 0 (
            echo.
            echo ✅ 项目构建成功！
            echo APK文件位置: app/build/outputs/apk/debug/app-debug.apk
            echo.
            echo 主要修复:
            echo - 解决了文件名和类名不匹配问题
            echo - 修复了Kotlin编译错误
            echo - 确保了项目的可编译性
            echo.
            echo 📱 现在可以成功构建APK了！
        ) else (
            echo.
            echo ⚠️ Kotlin编译通过，但构建失败
            echo 可能需要检查其他依赖或资源
        )
    ) else (
        echo.
        echo ❌ 编译检查失败
        echo 可能还有其他语法错误需要修复
    )
) else (
    echo 未找到Java环境，无法执行编译测试
    echo 但文件重命名问题已解决
)

echo.
pause
